Top 10k strings from Spectramon (1983)(ASP Software).tzx in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Utilities & Educational / Sinclair ZX Spectrum - Utilities & Educational - [TZX] (TOSEC-v2007-01-01) /

Back to the directory listing

   5 GET INSTRUCTION
   4 WORD VALUE
   4 BYTE VALUE
   3 L$=C$+" ":
   3 INDIRECT=0
   3 BYTE VALUE:
   2 Use IX instead of HL
   2 MAKE TEXT:
   2 CHECK INDEX:
   2 C$=C$+H$(CT
   2 Beware end of RAM
   1 no operand, format neatly
   1 etinstructio
   1 and this is the operand
   1 Z80 ED codes (40-7F)
   1 Z80 CB codes
   1 Work out position in O$
   1 Work out absolute addr. from offset
   1 Wait until key
   1 WORD VALUE=5020
   1 WORD VALUE:
   1 Use IY instead of HL
   1 Use (IX) or (IY) instead of (HL)
   1 This is the opcode
   1 Strip off the 'mode' marker
   1 Strip 8th bit (parity or flag)
   1 Strip 'H' to keep under 32 columns
   1 Start a new screen
   1 Standard 8-bit operand
   1 Spectramon
   1 Set up start address
   1 Screen Full - pause
   1 Screen Full & print needed
   1 STORE at operand address
   1 S$="("+N$+"-"+C$+")"
   1 S$="("+N$+"+"+C$+")"
   1 S$="("+N$+")"
   1 Reverse value of LP - Printer flag
   1 Reverse value of DEC - Base flag
   1 Return to menu
   1 Repeat for all opcodes
   1 Remove 'H' to shorten line
   1 Relative jump offset is operand
   1 Reject if address is not numeric!
   1 Process in accordance with addr mode
   1 Process all the bytes of the instruction
   1 Print controls as dots
   1 Pretend SPACE was typed
   1 Pretend IX & IY aren't needed
   1 Port number 0-255 is in operand byte
   1 Peculiar code
   1 Opcode No.
   1 O$(I+J)=O$(I):
   1 Nothing typed
   1 Not using IX or IY
   1 Not special
   1 Not a valid ED code
   1 No printer
   1 No address specified
   1 No 'H' here either
   1 NOP      3LD BC   LD (BC),AINC BC   INC B    DEC B    2LD B    RLCA     EX AF,AF'ADD #,BC LD A,(BC)DEC BC   INC C    DEC C    2LD C    RRCA     4DJNZ B  3LD DE   LD (DE),AINC DE   INC D    DEC D    2LD D    RLA      4JR      ADD #,DE LD A,(DE)DEC DE   INC E    DEC E    2LD E    RRA      4JR NZ   3LD #    8LD #    INC #    INC H    DEC H    2LD H    DAA      4JR Z    ADD #,#  6LD #    DEC #    INC L    DEC L    2LD L    CPL      4JR NC   3LD SP   8LD A    INC SP   INC *    DEC *    2LD *    SCF      4JR C    ADD #,SP 6LD A    DEC SP   INC A    DEC A    2LD A    CCF      1LD B    1LD B    1LD B    1LD B    1LD B    1LD B    1LD B    1LD B    1LD C    1LD C    1LD C    1LD C    1LD C    1LD C    1LD C    1LD C    1LD D    1LD D    1LD D    1LD D    1LD D    1LD D    1LD D    1LD D    1LD E    1LD E    1LD E    1LD E    1LD E    1LD E    1LD E    1LD E    1LD H    1LD H    1LD H    1LD H    1LD H    1LD H    1LD H    1LD H    1LD L    1LD L    1LD L    1LD L    1LD L    1LD L    1LD L    1LD L    1LD *    1LD *
   1 NBYTES=NBYTES+INDIRECT:
   1 NBYTES=NBYTES+INDIRECT+INDEX:
   1 NBYTES=NBYTES+3
   1 NBYTES=NBYTES+1
   1 Must be at least 1 digit
   1 More ED codes (A0-BF)
   1 Modify instruction
   1 Miscellaneous Z80 operation
   1 MAKE TEXT=4000
   1 M$=A$+B$+F$(K):
   1 M$=A$+B$+C$:
   1 M$=A$+B$+C$
   1 M$=A$+B$+"("+C$+")":
   1 M$=A$+"("+C$+")"+B$:
   1 M$="HALT":
   1 Longer than expected
   1 LOC=LOC+NBYTES:
   1 LOC=LOC+16
   1 LOC+NBYTES-1
   1 LOC+I>65535
   1 LD (HL),(HL) doesn't exist - HALT takes its place
   1 L$=L$+D$+Z$(1
   1 L$=L$+" "+C$(1
   1 L$=L$+" "+C$
   1 Insert register name
   1 Indirect address is in operand
   1 Indexed bit operation
   1 Implied addressing - no operand bytes
   1 Ignore Silly address or command
   1 INDIRECT=1
   1 IN to port numbered by operand
   1 I$=O$(I0+1
   1 Hex output
   1 Hex characters
   1 Hex address?
   1 H$="0123456789ABCDEF":
   1 Got instruction
   1 Get val in LOC
   1 Get the real inst. number
   1 Get the equivalent HL inst.
   1 Get text of opcode
   1 Get operand number from inst.
   1 Get opcode number
   1 Get offset for (IY+offset)
   1 Get number
   1 Get addressing mode (if special)
   1 Get MSB of operand (if any!)
   1 Get LSB of operand
   1 GET INSTRUCTION=2000
   1 Format neatly
   1 Force caps lock
   1 Force 4 character field
   1 Find operand field
   1 Find new operand
   1 FFF8H  00 42 42 42 42 42 3C 00H
   1 Extra byte needed for offset
   1 Do another line unless ENTER was typed
   1 Display absolute address of target inst.
   1 Discard trailing spaces
   1 Decimal is easy
   1 D$=D$+C$(1
   1 Created with Ramsoft MakeTZX
   1 Convert hex character to decimal
   1 Continue as for IY
   1 Compute bitwise inst. number
   1 Clear BASIC key buffer
   1 Check for abbreviations
   1 Can go back or forward
   1 CHECK INDEX=1800
   1 CHECK INDEX
   1 C+LOC>65535
   1 C$=H$(CT/16
   1 C$=H$(C/16
   1 C$=C$+H$(CT/16
   1 C$=C$+H$(C
   1 Build inst.
   1 Build entire instruction text
   1 Brackets indicate indirection
   1 Brackets indicate address not value
   1 Bitwise operation (Z80)
   1 BYTE VALUE=5000
   1 B$=B$+",":
   1 Always use hex (neater)
   1 Advance to next instruction
   1 Adjust instruction length
   1 Add spaces tidily
   1 Add instruction to line
   1 Add appropriate symbol
   1 A$=I$+Z$(1
   1 A$="000"+A$(
   1 8 bit operand in or pointed to by registers
   1 8 bit number is operand
   1 8 bit indirect load - special case
   1 8 bit indirect bitwise inst.
   1 8 bit hex value
   1 16 bit number is operand
   1 16 bit hex value
   1 0123456789ABCDEFA
   1 -NBYTES))+" ":
   1 ** Z80 Instructions
   1 ** Use addressing mode
   1 ** Select subroutine
   1 ** Numeric dump
   1 ** ED codes
   1 ** DD codes
   1 ** Convert hex to dec
   1 ** Convert C to C$
   1 ** Command Menu
   1 ** Character dump
   1 ** CB codes
   1 ** Build up o/p line
   1 *(H$>"@"):
   1 )+S$+M$(I+1
   1 )+N$+M$(I+1
   1 '"Q Return to ZX BASIC."
   1 '"P Printer option (now ";:
   1 '"N<address> Numeric dump memory"
   1 '"End of memory.":
   1 '"D<address> Disassemble Program."
   1 '"B Base Selection (now ";:
   1 '"A<address> ASCII mem. display."
   1 "RST 10H","RET C","EXX","3JP C","5IN A","3CALL C","9","2SBC A","RST 18H","RET PO","POP #","3JP PO","EX (SP),#","3CALL PO","PUSH #","2AND","RST 20H"
   1 "RET PE","JP (#)","3JP PE","EX DE,HL","3CALL PE","9","2XOR","RST 28H","RET P","POP AF","3JP PE","DI","3CALL P"
   1 "PUSH BC","2ADD A","RST 0","RET Z","RET","3JP Z","9","3CALL Z","3CALL","2ADC A","RST 8H","RET NC","POP DE","3JP NC","7OUT A","3CALL NC","PUSH DE","2SUB A"
   1 "PUSH AF","2OR","RST 30H","RET M","LD SP,#","3JP M","EI","3CALL M","9","2CP","RST 38H"
   1 "NOP","3LD BC","LD (BC),A","INC BC","INC B","DEC B","2LD B","RLCA","EX AF,AF'","ADD #,BC","LD A,(BC)","DEC BC","INC C","DEC C","2LD C","RRCA","4DJNZ B","3LD DE","LD (DE),A","INC DE"
   1 "More? (Enter = NO)":
   1 "LDIR","CPIR","INIR","OTIR","9","9","9","9"
   1 "LDI","CPI","INI","OUTI","9","9","9","9"
   1 "LDDR","CPDR","INDR","OTDR","9","9","9","9"
   1 "LDD","CPD","IND","OUTD","9","9","9","9"
   1 "INC D","DEC D","2LD D","RLA","4JR","ADD #,DE","LD A,(DE)","DEC DE","INC E","DEC E","2LD E","RRA","4JR NZ","3LD #","8LD #","INC #","INC H","DEC H","2LD H","DAA","4JR Z","ADD #,#"
   1 "IN L,(C)","OUT (C),L","ADC HL,HL","6LD HL","9","9","9","RLD"
   1 "IN H,(C)","OUT (C),H","SBC HL,HL","8LD HL","9","9","9","RRD"
   1 "IN E,(C)","OUT (C),E","ADC HL,DE","6LD DE","9","9","IM 2","LD A,R"
   1 "IN D,(C)","OUT (C),D","SBC HL,DE","8LD DE","9","9","IM 1","LD A,I"
   1 "IN C,(C)","OUT (C),C","ADC HL,BC","6LD BC","9","RETI","9","LD R,A"
   1 "IN B,(C)","OUT (C),B","SBC HL,BC","8LD BC","NEG","RETN","IM 0","LD I,A"
   1 "BCDEHL*A"
   1 "9","9","SBC HL,SP","8LD SP","9","9","9","9","IN A,(C)","OUT (C),A","ADC HL,SP","6LD SP","9","9","9","9"
   1 "6LD #","DEC #","INC L","DEC L","2LD L","CPL","4JR NC","3LD SP","8LD A","INC SP","INC *","DEC *","2LD *","SCF","4JR C","ADD #,SP","6LD A","DEC SP","INC A","DEC A","2LD A","CCF"
   1 "1SET 4","1SET 5","1SET 6","1SET 7"
   1 "1SET 0","1SET 1","1SET 2","1SET 3"
   1 "1RLC","1RRC","1RL","1RR","1SLA","1SRA","9","9","9","9","9","9","9","9","9","1SRL"
   1 "1RES 4","1RES 5","1RES 6","1RES 7"
   1 "1RES 0","1RES 1","1RES 2","1RES 3"
   1 "1LD B","1LD C","1LD D","1LD E","1LD H","1LD L","1LD *","1LD A","1ADD A","1ADC A","1SUB A","1SBC A","1AND","1XOR","1OR","1CP","RET NZ","POP BC","3JP NZ","3JP","3CALL NZ"
   1 "1BIT 4","1BIT 5","1BIT 6","1BIT 7"
   1 "1BIT 0","1BIT 1","1BIT 2","1BIT 3"
   1  Disassembler B
   1